#ifndef __STATE_MACHINE_H_
#define __STATE_MACHINE_H_

#ifdef __cplusplus
extern "C"{
#endif

#include "mc_interface.h"
#include "hardware_config.h"


void HighFreqTask(void);
void LowFreqTask(void);
void MiddleFreqTask(void);
void FiniteStateMachine(void);
void GetOffsetCalib(void);
void BootCapCharge(void);
void BootChargeHighFretask(void);
void PositionSeekMiddleFreqTask(void);
void PositionSeekVectorGeneration(u8 oVec);
void RotorAlignmentMiddleFreqTask(void);
void RotorAlignmentHighFreqTask(void);
void HallStudyMiddleFreqTask(void);
void HallStudyHighFreqTask(void);
void QuadCalibMiddleFreqTask(void);
void QuadCalibHighFreqTask(void);
void StartupMiddleFreqTask(void);
void StartupHighFreqTask(void);
void OpenToCloseMiddleFreqTask(void);
void OpenToCloseHighFreqTask(void);
void OnTheFlyMiddleFreqTask(void);
void OnTheFlyHighFreqTask(void);
void RunMiddleFreqTask(void);
void RunHighFreqTask(void);
void StopHighFreqTask(void);
void StopMiddleFreqTask(void);
void FaultDetect(void);
void FaultMiddleFreqTask(void);
void FaultHighFreqTask(void);
void Fault_LED_Disp(void);
void Adv_Protect(void);
#if defined(DEBUG_STATE)
void DebugHighFreqTask(void);
void DebugMiddleFreqTask(void);
#endif

#ifdef __cplusplus
}
#endif


#endif
